<?xml version="1.0" encoding="UTF-8"?>
<!--
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
-->
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://xmlns.jcp.org/jsf/html"
      xmlns:p="http://primefaces.org/ui"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:ui="http://xmlns.jcp.org/jsf/facelets">
    <ui:composition template="/resources/templates/default.xhtml">
        <ui:define name="title">Profil</ui:define>
        <ui:define name="titlePage">Configuration de l'application</ui:define>
        <ui:define name="content"> 
            <p:panel header="Status des serveurs">
                <h:form id="statusServersForm">
                    <p:panelGrid columns="3">
                        <h:outputText value="Serveur Logs" /><h:outputText id="status_logs" style="color:#{clientSSHBean.statusLogs.color}" value="#{clientSSHBean.statusLogs.message}" /><p:commandButton update="status_logs,status_dhcp,status_fw" value="Actualiser" disabled="#{clientSSHBean.statusLogs.id eq 0}" actionListener="#{clientSSHBean.reloadLogsSession()}" />
                        <h:outputText value="Serveur DHCP" /><h:outputText id="status_dhcp" style="color:#{clientSSHBean.statusDHCP.color}" value="#{clientSSHBean.statusDHCP.message}" /><p:commandButton update="status_logs,status_dhcp,status_fw" value="Actualiser" disabled="#{clientSSHBean.statusDHCP.id eq 0}" actionListener="#{clientSSHBean.reloadDHCPSession()}" />
                        <h:outputText value="Serveur FireWall" /><h:outputText id="status_fw" style="color:#{clientSSHBean.statusFireWall.color}" value="#{clientSSHBean.statusFireWall.message}" /><p:commandButton update="status_logs,status_dhcp,status_fw" value="Actualiser" disabled="#{clientSSHBean.statusFireWall.id eq 0}" actionListener="#{clientSSHBean.reloadFireWallSession()}" />
                    </p:panelGrid>
                </h:form>
                <h:form>
                    <p:poll update=":statusServersForm:status_logs,:statusServersForm:status_dhcp,:statusServersForm:status_fw" interval="3"/>
                </h:form>
            </p:panel>
            <p:panel header="Authentification par adresse MAC">
                <h:form id="authFormMode">
                    <div style="padding:5px; font-weight: bold;">
                        <h:outputText value="Authentification "/><h:outputText id="state_enable" style="color:green !important;" value="activée" rendered="#{configurationBean.authModeIsEnabled() eq true}"/><h:outputText id="state_disable" style="color:red !important;" value="désactivée" rendered="#{configurationBean.authModeIsEnabled() eq false}"/>
                    </div>
                    <p:panelGrid columns="2">
                        <p:panelGrid columns="2">
                            <p:commandButton value="Activée" id="enableMacAuth" actionListener="#{administrationBean.toogleMACAuthentification()}" disabled="#{configurationBean.authModeIsEnabled() eq true}" update="authFormMode" />
                            <p:commandButton value="Désactivée" id="disableMacAuth" actionListener="#{administrationBean.toogleMACAuthentification()}" disabled="#{configurationBean.authModeIsEnabled() eq false}" update="authFormMode" />
                        </p:panelGrid>
                        <p:panel style="color:red !important; font-weight: bold;">
                            <span style="color:red !important;">Attention ! </span>En cas de désactivation de cette option, tout utilisateur du réseau pourra se connecter à internet quelque soit son adresse MAC.<br/>
                            Il est à noter également que les logs ne seront plus identifiables sur cette période ne sachant pas avec certitude à qui appartient l'adresse IP source.
                            En cas d'activation, seul les utilisateurs ayant entré l'adresse MAC de leur machine seront autorisés à se connecter à internet et les logs redeviendront identifiables.
                            Enfin, les utilisateurs n'auront plus accès à la page de gestion de leurs machines.
                        </p:panel>
                    </p:panelGrid>
                    
                </h:form>
            </p:panel>
            <p:panel header="Serveur">  
                <h:form id="formConfig">
                    <p:dataTable var="conf" value="#{administrationBean.configs}" id="confList" editable="true">

                        <p:ajax event="rowEdit" listener="#{administrationBean.modifierConfig(conf)}" update="confList :growl"/>  

                        <p:column headerText="Description">  
                            <h:outputLabel style="color:darkgrey;" value="#{conf.help}"/>  
                        </p:column>
                        
                        <p:column headerText="Clé">  
                            <h:outputLabel style="font-weight:bold;" value="#{conf.cle}"/>  
                        </p:column>  

                        <p:column headerText="Valeur">  
                            <p:cellEditor>  
                                <f:facet name="output">  
                                    <h:outputText value="#{conf.valeur}"/>  
                                </f:facet>  
                                <f:facet name="input">  
                                    <p:inputText value="#{conf.valeur}" style="width:100%"/>  
                                </f:facet>  
                            </p:cellEditor>  
                        </p:column>

                        <p:column style="width:6%">  
                            <p:rowEditor/>
                        </p:column>  

                    </p:dataTable>
                </h:form>                
            </p:panel>  
        </ui:define>
    </ui:composition>
</html>
